Cross-level image blending

ABSTRACT

One or more techniques and/or systems are provided for image blending and/or facilitating image transitions. In an example, a map interface displays map information, such as of a town, through a visualization. A first image having a first level of detail and a first image type (e.g., satellite imagery of the town) may be displayed through the visualization. While zoomed into the town, a second image having a second level of detail and a second image type (e.g., aerial imagery of the town) may be displayed through the visualization. Instead of merely transitioning the visualization from displaying the first image to displaying the second image (during zooming), which may otherwise provide a visually abrupt transition, one or more intermediate blended images, having intermediate levels of detail between the first image and the second image, may be generated and displayed during the transition between the first image and the second image.

BACKGROUND

Many applications and/or websites provide information through mapinterfaces. For example, a running website may display running routesthrough a running map visualization; a mobile map app may displaydriving directions on a road map visualization; etc. Such applicationsand/or websites may allow a user to zoom-in, zoom-out, and/or rotate aviewing angle of a map visualization.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Among other things, one or more systems and/or techniques for imageblending and/or for facilitating image transitions are provided herein.In an example of image blending, an intermediate blended image between afirst image, having a first image type and a first level of detail, anda second image having a second image type and a second level of detailmay be generated. The intermediate blended image may have anintermediate level of detail between the first level of detail and thesecond level of detail. In an example of generating the intermediateblended image, structure transfer may be performed upon the first imageto generate a new image. The second image may be downsampled to generatea downsampled image having a downsampled size corresponding to a size ofthe new image. A color difference between the new image and thedownsampled image may be computed. The color difference may be upsampledto generate an upsampled color difference. A gradient image may beblended using an interpolation weight and the upsampled color differenceto generate the intermediate blended image. The intermediate blendedimage may be displayed through a visualization during transition betweendisplay of the first image and display of the second image.

In an example of facilitating image transitions, a second image, havinga second image type and a second level of detail, may be subsampled togenerate a subsampled image. The subsampled image may have a subsampledsize corresponding to a first image having a first image type and afirst level of detail. A color distance metric between the subsampledimage and the first image may be determined. A structure similaritymetric between the subsampled image and the first image may bedetermined. A transition blending metric may be generated based upon thecolor distance metric and the structure similarity metric. A set ofimages may be sorted based upon the transition blending metric togenerate a sorted set of images ordered from smooth transitions toabrupt transitions between displaying the first image and displaying thesecond image.

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages, and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram illustrating an exemplary method of imageblending.

FIG. 2 is a component block diagram illustrating an exemplary system forimage blending where a first intermediate blended image is generated.

FIG. 3 illustrates an example of generating a set of intermediateblended images.

FIG. 4A is a component block diagram illustrating an exemplary systemfor image blending where a satellite image is displayed.

FIG. 4B is a component block diagram illustrating an exemplary systemfor image blending where a first intermediate blended image isdisplayed.

FIG. 4C is a component block diagram illustrating an exemplary systemfor image blending where one or more additional intermediate blendedimages are displayed.

FIG. 4D is a component block diagram illustrating an exemplary systemfor image blending where an aerial image is displayed.

FIG. 5 is a flow diagram illustrating an exemplary method offacilitating image transitions.

FIG. 6 is a component block diagram illustrating an exemplary system forfacilitating image transitions.

FIG. 7 is an illustration of an exemplary computer readable mediumwherein processor-executable instructions configured to embody one ormore of the provisions set forth herein may be comprised.

FIG. 8 illustrates an exemplary computing environment wherein one ormore of the provisions set forth herein may be implemented.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are generally used to refer tolike elements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth to provide anunderstanding of the claimed subject matter. It may be evident, however,that the claimed subject matter may be practiced without these specificdetails. In other instances, structures and devices are illustrated inblock diagram form in order to facilitate describing the claimed subjectmatter.

One or more techniques and/or systems for image blending and/orfacilitating image transitions are provided herein. Users may desire tozoom into and/or out of a map without abrupt visual transitions that mayoccur when transitioning from a first map zoom level derived from afirst type of image such as satellite imagery and a second map zoomlevel derived from a second type of image such as aerial imagery (e.g.,a user may zoom into a map of the United States from a satellite view,derived from satellite imagery, to an aerial view derived from aerialimagery). However, many client devices and/or map providers may lackprocessing power, storage, and/or bandwidth to provide smooth visualtransitions from the first map zoom level to the second map zoom leveldue to the different types of imagery data sources and different typesof imagery being accessed, retrieved, and/or utilized for thetransition. Accordingly, as provided herein, one or more intermediateblended images, having an intermediate level of detail between a firstlevel of detail of a first image (e.g., a satellite image) and a secondlevel of detail of a second image (e.g., an aerial image), may begenerated for display during a transition between display of the firstimage and display of the second image. Because the one or moreintermediate blended images are generated for display during thetransition, a visually smooth transition may be provided.

An embodiment of image blending is illustrated by an exemplary method100 of FIG. 1. At 102, the method starts. A map interface may displaymap information through a visualization (e.g., a mobile map app maydisplay driving directions through a map visualization of a city). Themap interface may utilize various types of imagery to populate the mapvisualization, such as satellite imagery for relatively zoomed out viewsof the city and aerial imagery for relatively zoomed in views of thecity. The map interface may allow the user to zoom into and/or out ofthe visualization. In an example, while zooming in, the visualizationmay be transitioned from displaying views of the city using thesatellite imagery to displaying views of the city using the aerialimagery. As provided herein, one or more intermediate blended images maybe generated and/or displayed during the transition from the satelliteimagery to the aerial imagery (e.g., from the satellite imagery to theaerial imagery for zooming in, from the aerial imagery to the satelliteimagery for zooming out and/or when transitioning between any two typesof imagery) to provide a relatively smooth visual transition for theuser.

At 104, an intermediate blended image between a first image having afirst image type and a first level of detail (e.g., the satellite image)and a second image having a second image type and a second level ofdetail (e.g., the aerial image) may be generated. The intermediateblended image may have an intermediate level of detail between the firstlevel of detail and the second level of detail. In an example, the firstimage may correspond to a resolution above a high detail threshold forthe first image type (e.g., a highest resolution satellite image beforea level of detail transition to aerial imagery). In an example, thesecond image may correspond to a resolution below a low detail thresholdfor the second image type (e.g., a lowest resolution aerial image aftera level of detail transition from the satellite imagery).

In an example of the generating, structure transfer is performed uponthe first image to generate a new image, at 106. The new image may begenerated, and the structure from the first image, such as the satelliteimage, may be transferred to the new image at the first level of detailof the first image (e.g., such that the new image has a similarresolution as the first image). In an example, structure may correspondto color differences (e.g., information related to different colors ofred). At 108, the second image may be downsampled to generate adownsampled image having a downsampled size corresponding to a size ofthe new image. In an example, successive fine-to-coarse downsampling maybe performed upon the second image (e.g., until the downsampled size ofthe downsampled image corresponds to the size of the new image, such asabout 256 pixels by about 256 pixels) to generate the downsampled image.In an example, a Gaussian pyramid may be built based upon the successivefine-to-coarse downsampling. The Gaussian pyramid may be utilized togenerate the downsampled image.

At 110, a color difference may be computed between the new image and thedownsampled image (e.g., a Landsat or satellite color level difference).At 112, the color difference may be upsampled to generate an upsampledcolor difference. In an example of upsampling, an interpolation weightis calculated based upon a number of first levels of detail (e.g., anumber of satellite levels of detail) and/or a number of second levelsof detail (e.g., a number of aerial levels of detail). At 114, agradient image may be blended using the interpolation weight and/or theupsampled color difference to generate the intermediate blended image.In an example, a blending amount metric (e.g., indicative of an amountof blending to perform based upon an amount of difference, such as colordifference, between the new image and the downsampled image) may bedetermined based upon a gradient value of the gradient image. In thisway, the gradient image may be blended based upon the blending amountmetric (e.g., an amount of blending between the first image and thesecond image). In another example, the blending amount metric may bedetermined based upon a pyramid level of the gradient image within theGaussian pyramid. In an example of blending, a horizontal partialderivative may be determined with respect to an x-axis. The horizontalpartial derivative may be indicative of a horizontal color differencebetween pixels along the x-axis. A vertical partial derivative may bedetermined with respect to a y-axis. The vertical partial derivative maybe indicative of a vertical color difference between pixels along they-axis. The gradient image may be blended based upon the horizontalpartial derivative and/or the vertical partial derivative.

In this way, the intermediate blended image may be generated based uponblending the gradient image. The intermediate blended image may cover anamount of ground area corresponding to an amount of ground area coveredby the second image. In an example, a set of intermediate blended imagesbetween the first level of detail and the second level of detail may begenerated, where the set of intermediate blended images covers an amountof ground area covered by a corresponding set of second images (e.g.,set of aerial images). At 116, the intermediate blended image (e.g.,and/or other intermediate blended images within the set of intermediateblended images) may be displayed through the visualization during atransition between display of the first image and display of the secondimage. Displaying the intermediate blended image during the transitionmay provide a relatively smoothly visual transition compared to anabrupt change that may otherwise occur from a direct transition from thefirst image to the second image. At 118, the method ends.

FIG. 2 illustrates an example of a system 200 for image blending. Thesystem 200 comprises an image blending component 206. The image blendingcomponent 206 may be configured to generate an intermediate blendedimage 214 having an intermediate level of detail between a first levelof detail of a first image, such as a satellite image 202 of a beachtown, and a second level of detail of a second image such as an aerialimage 204 of the beach town. For example, the image blending component206 may perform structure transfer upon the satellite image 202 togenerate a new image 208 at the first level of detail. The imageblending component 206 may downsample the aerial image 204 to generate adownsampled image 210 having a downsampled size corresponding to a sizeof the new image 208. The image blending component 206 may compute acolor difference between the new image 208 and the downsampled image210. The color difference may be upsampled to generate an upsampledcolor difference. The image blending component 206 may blend a gradientimage 212 using an interpolation weight and/or the upsampled colordifference to generate the intermediate blended image 214. In this way,the intermediate blended image 214 may be displayed during a transition(e.g., zooming in/out) between display of the satellite image 202 anddisplay of the aerial image 204.

FIG. 3 illustrates an example 300 of generating a set of intermediateblended images 312. For example, the image blending component 206 maygenerate the first intermediate blended image 214 as illustrated in FIG.2, a second intermediate blended image 316, a third intermediate blendedimage 318, a fourth intermediate blended image 320, and/or other blendedimages for inclusion within the set of intermediate blended images 312.The image blending component 206 may blend gradient images 310 basedupon interpolation weights and/or upsampled color differences associatedwith new images 306 and/or downsampled images 308 derived from thesatellite image 202 and/or the aerial image 204. In this way, one ormore intermediate blended images within the set of intermediate blendedimages 312 may be displayed during a transition between display of thesatellite image 202 and display of the aerial image 204.

FIGS. 4A-4D illustrate examples of a system 401, comprising an imagevisualization component 402, for image blending and facilitating imagetransitions. FIG. 4A illustrates an example 400 of displaying thesatellite image 202. The image visualization component 402 may beassociated with a map interface 406 displayed through a client device.The map interface 406 may display a map visualization of the beach town.For example, the map interface 406 may submit a request 404 for a firstzoom level of the beach town. The image visualization component 402 mayreceive the request 404 from the map interface 406. The imagevisualization component 402 may determine that the satellite image 202corresponds to the first zoom level. Accordingly, the imagevisualization component 402 may provide the satellite image 202 to themap interface 406 for display through the map visualization.

FIG. 4B illustrates an example 420 of displaying the first intermediateblended image 214. The image visualization component 402 may receive asecond request 422 for a second zoom level of the beach town. The imagevisualization component 402 may determine that the second zoom levelcorresponds to the aerial image 204. The image visualization component402 may determine that a direct transition of the map visualization fromdisplay of the satellite image 202 to display of the aerial image 204may result in an abrupt visual map experience for a user of the mapvisualization due to the satellite image 202 and the aerial image 204having different visual characteristics, image types, and/or datasources. Accordingly, the image visualization component 402 may providethe first intermediate blended image 214 to the map interface 406 fordisplay through the map visualization based upon the first intermediateblended image 214 have an intermediate level of detail between a firstlevel of detail of the satellite image 202 and a second level of detailof the aerial image 204. FIG. 4C illustrates an example 440 ofdisplaying one or more additional intermediate blended images 442. Forexample, the image visualization component 402 may determine that theone or more additional intermediate blended images 442, such as thesecond intermediate blended image 316, have intermediate levels ofdetail between the first level of detail of the satellite image 202 andthe second level of detail of the aerial image 204. Accordingly, theimage visualization component 402 may provide the one or more additionalintermediate blended images 442 to the map interface 406 for displaythrough the map visualization.

FIG. 4D illustrates an example 450 of displaying the aerial image 204.The image visualization component 402 may determine that the aerialimage 204 corresponds to the second zoom level associated with thesecond request 422. Accordingly, the image visualization component 402may provide the aerial image 202 to the map interface 406 for displaythrough the map visualization based upon a threshold number ofintermediate images being displayed after display of the satellite image202 and before display of the aerial image 202, as illustrated in FIGS.4B and 4C.

An embodiment of facilitating image transitions is illustrated by anexemplary method 500 of FIG. 5. At 502, the method starts. In anexample, a set of images may correspond to intermediate blended imageshaving intermediate levels of detail between a first level of detail ofa first image (e.g., a satellite image) and a second level of detail ofa second image (e.g., an aerial image). One or more intermediate blendedimages may be displayed through a visualization during a transition ofthe visualization from display of the first image to display of thesecond image. The set of images may be sorted from smooth transitions toabrupt transitions so that the one or more intermediate blended imagesmay be selected from the set of images in order to provide a relativelysmooth visual transition from the first image to the second image.

In an example of sorting the set of images, the second image, having asecond image type and the second level of detail, may be subsampled togenerate a subsampled image, at 504. The subsampled image may have asubsampled size corresponding to a size of the first image having afirst image type and the first level of detail. At 506, a color distancemetric between the subsampled image and the first image may bedetermined (e.g., distance between DC components (e.g., Fouriertransforms) of the subsampled image and the first image, which maycorresponding to a normalized color distance). At 508, a structuresimilarity metric between the subsampled image and the first image maybe determined (e.g., structure similarity between DC components of thesubsampled image and the first image, which may correspond to texturedifferences).

At 510, a transition blending metric may be generated based upon thecolor distance metric and/or the structure similarity metric (e.g., thestructure similarity metric may be subtracted from the color distancemetric). The larger the transition blending metric, the moredissimilarity between the subsampled image and the first image. Thetransition blending metric may indicate how many levels of detail toblend between the first level of detail of the first image and thesecond level of detail of the second image.

At 512, the set of images may be sorted based upon the transitionblending metric to create a sorted set of images ordered from smoothtransitions to abrupt transitions between displaying the first image anddisplaying the second image. In an example, a transition outlierthreshold may be defined based upon a user threshold for outliers. Theset of images may be sorted based upon the transition outlier threshold.The sorted set of images may be represented as a sorted array ofquadkeys, where a quadkey corresponds to an image within the sorted setof images. In this way, the sorted set of images may compriseintermediate blended images sorted based upon transitional smoothness,which may aid a user in efficiently identifying potential issues withintermediate blended images. At 514, the method ends.

FIG. 6 illustrates an example of a system 600 for facilitating imagetransitions. The system 600 comprises an image blending analysiscomponent 602. The image blending analysis component 602 may identify aset of images 612 that are to be sorted and/or blended. In an example,the set of images 612 may correspond to intermediate blended images. Theimage blending analysis component 602 may subsample a second image(e.g., an aerial image), having a second image type and a second levelof detail, to create a subsampled image having a subsampled sizecorresponding to a size of a first image (e.g., a satellite image)having a first image type and a first level of detail. The imageblending analysis component 602 may determine a color distance metric606 between the subsampled image and the first image. The image blendinganalysis component 602 may determine a structure similarity metric 606between the subsampled image and the first image. The image blendinganalysis component 602 may generate a transition blending metric 608based upon the color distance metric 606 and the structure similaritymetric 606. The image blending analysis component 602 may sort the setof images 612 based upon the transition blending metric 608 and/or atransition outlier threshold 610 to create a sorted set of images 614.The sorted set of images 614 may be ordered from smooth transitions toabrupt transitions between displaying the first image and displaying thesecond image. The image visualization component 402 may be configured todisplay one or more intermediate blended images from the sorted set ofimages 614 (e.g., intermediate blended images having a sorted orderabove a transitional smoothness threshold) between display of the firstimage and display of the second image.

According to an aspect of the instant disclosure, a method for imageblending is provided. The method includes generating an intermediateblended image between a first image, having a first image type and afirst level of detail, and a second image having a second image type anda second level of detail. The intermediate blended image may have anintermediate level of detail between the first level of detail and thesecond level of detail. The generating comprises performing structuretransfer upon the first image to generate a new image. The second imagemay be downsampled to generate a downsampled image having a downsampledsize corresponding to a size of the new image. A color differencebetween the new image and the downsampled image may be computed. Thecolor difference may be upsampled to generate an upsampled colordifference. A gradient image may be blended using an interpolationweight and the upsampled color difference to generate the intermediateblended image. The intermediate blended image may be displayed through avisualization during a transition between display of the first image anddisplay of the second image.

According to an aspect of the instant disclosure, a method forfacilitating image transitions is provided. The method includessubsampling a second image, having a second image type and a secondlevel of detail, to generate a subsampled image. The subsampled imagemay have a subsampled size corresponding to a size of a first imagehaving a first image type and first level of detail. A color distancemetric between the subsampled image and the first image may bedetermined. A structure similarity metric between the subsampled imageand the first image may be determined. A transition blending metric maybe generated based upon the color distance metric and the structuresimilarity metric. A set of images may be sorted based upon thetransition blending metric to generate a sorted set of images orderedfrom smooth transitions to abrupt transitions between displaying thefirst image and displaying the second image.

According to an aspect of the instant disclosure, a system for imageblending is provided. The system includes an image blending componentconfigured to generate an intermediate blended image between a firstimage, having a first image type and a first level of detail, and asecond image having a second image type and a second level of detail.The intermediate blended image may have an intermediate level of detailbetween the first level of detail and the second level of detail. Theimage blending component may be configured to perform structure transferupon the first image to generate a new image. The image blendingcomponent may be configured to downsample the second image to generate adownsampled image having a downsampled size corresponding to a size ofthe new image. The image blending component may be configured to computea color difference between the new image and the downsampled image. Theimage blending component may be configured to upsample the colordifference to generate an upsampled color difference. The image blendingcomponent may be configured to blend a gradient image using aninterpolation weight and the upsampled color difference to generate theintermediate blended image. The system includes an image visualizationcomponent configured to display the intermediate blended image through avisualization during a transition between display of the first image anddisplay of the second image.

According to an aspect of the instant disclosure, a means for imageblending is provided. An intermediate blended image between a firstimage, having a first image type and a first level of detail, and asecond image, having a second image type and a second level of detail,may be generated by the means for image blending. The intermediateblended image may have an intermediate level of detail between the firstlevel of detail and the second level of detail. The generating comprisesperforming structure transfer upon the first image to generate a newimage. The second image may be downsampled by the means for imageblending to generate a downsampled image having a downsampled sizecorresponding to a size of the new image. A color difference between thenew image and the downsampled image may be computed by the means forimage blending. The color difference may be upsampled by the means forimage blending to generate an upsampled color difference. A gradientimage may be blended by the means for image blending using aninterpolation weight and the upsampled color difference to generate theintermediate blended image. The intermediate blended image may bedisplayed by the means for image blending through a visualization duringa transition between display of the first image and display of thesecond image.

According to an aspect of the instant disclosure, a means forfacilitating image transitions is provided. A second image, having asecond image type and a second level of detail, may be subsampled by themeans for facilitating image transitions to generate a subsampled image.The subsampled image may have a subsampled size corresponding to a firstimage having a first image type and first level of detail. A colordistance metric between the subsampled image and the first image may bedetermined by the means for facilitating image transitions. A structuresimilarity metric between the subsampled image and the first image maybe determined by the means for facilitating image transitions. Atransition blending metric may be generated by the means forfacilitating image transitions based upon the color distance metric andthe structure similarity metric. A set of images may be sorted by themeans for facilitating image transitions based upon the transitionblending metric to generate a sorted set of images ordered from smoothtransitions to abrupt transitions between displaying the first image anddisplaying the second image.

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to implement one or more ofthe techniques presented herein. An example embodiment of acomputer-readable medium or a computer-readable device is illustrated inFIG. 7, wherein the implementation 700 comprises a computer-readablemedium 708, such as a CD-R, DVD-R, flash drive, a platter of a hard diskdrive, etc., on which is encoded computer-readable data 706. Thiscomputer-readable data 706, such as binary data comprising at least oneof a zero or a one, in turn comprises a set of computer instructions 704configured to operate according to one or more of the principles setforth herein. In some embodiments, the processor-executable computerinstructions 704 are configured to perform a method 702, such as atleast some of the exemplary method 100 of FIG. 1 and/or at least some ofthe exemplary method 500 of FIG. 5, for example. In some embodiments,the processor-executable instructions 704 are configured to implement asystem, such as at least some of the exemplary system 200 of FIG. 2, atleast some of the exemplary system 401 of FIGS. 4A-4D, and/or at leastsome of the exemplary system 600 of FIG. 6, for example. Many suchcomputer-readable media are devised by those of ordinary skill in theart that are configured to operate in accordance with the techniquespresented herein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing at least some of the claims.

As used in this application, the terms “component,” “module,” “system”,“interface”, and/or the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, manymodifications may be made to this configuration without departing fromthe scope or spirit of the claimed subject matter.

FIG. 8 and the following discussion provide a brief, general descriptionof a suitable computing environment to implement embodiments of one ormore of the provisions set forth herein. The operating environment ofFIG. 8 is only one example of a suitable operating environment and isnot intended to suggest any limitation as to the scope of use orfunctionality of the operating environment. Example computing devicesinclude, but are not limited to, personal computers, server computers,hand-held or laptop devices, mobile devices (such as mobile phones,Personal Digital Assistants (PDAs), media players, and the like),multiprocessor systems, consumer electronics, mini computers, mainframecomputers, distributed computing environments that include any of theabove systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 8 illustrates an example of a system 800 comprising a computingdevice 812 configured to implement one or more embodiments providedherein. In one configuration, computing device 812 includes at least oneprocessing unit 816 and memory 818. Depending on the exact configurationand type of computing device, memory 818 may be volatile (such as RAM,for example), non-volatile (such as ROM, flash memory, etc., forexample) or some combination of the two. This configuration isillustrated in FIG. 8 by dashed line 814.

In other embodiments, device 812 may include additional features and/orfunctionality. For example, device 812 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 8 by storage 820. In oneembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 820. Storage 820 may alsostore other computer readable instructions to implement an operatingsystem, an application program, and the like. Computer readableinstructions may be loaded in memory 818 for execution by processingunit 816, for example.

The term “computer readable media” as used herein includes computerstorage media. Computer storage media includes volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions or other data. Memory 818 and storage 820 are examples ofcomputer storage media. Computer storage media includes, but is notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to storethe desired information and which can be accessed by device 812.Computer storage media does not, however, include propagated signals.Rather, computer storage media excludes propagated signals. Any suchcomputer storage media may be part of device 812.

Device 812 may also include communication connection(s) 826 that allowsdevice 812 to communicate with other devices. Communicationconnection(s) 826 may include, but is not limited to, a modem, a NetworkInterface Card (NIC), an integrated network interface, a radio frequencytransmitter/receiver, an infrared port, a USB connection, or otherinterfaces for connecting computing device 812 to other computingdevices. Communication connection(s) 826 may include a wired connectionor a wireless connection. Communication connection(s) 826 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 812 may include input device(s) 824 such as keyboard, mouse, pen,voice input device, touch input device, infrared cameras, video inputdevices, and/or any other input device. Output device(s) 822 such as oneor more displays, speakers, printers, and/or any other output device mayalso be included in device 812. Input device(s) 824 and output device(s)822 may be connected to device 812 via a wired connection, wirelessconnection, or any combination thereof. In one embodiment, an inputdevice or an output device from another computing device may be used asinput device(s) 824 or output device(s) 822 for computing device 812.

Components of computing device 812 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 812 may be interconnected by a network. For example, memory 818may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 830 accessible via a network828 may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 812 may access computingdevice 830 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 812 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 812 and some atcomputing device 830.

Various operations of embodiments are provided herein. In oneembodiment, one or more of the operations described may constitutecomputer readable instructions stored on one or more computer readablemedia, which if executed by a computing device, will cause the computingdevice to perform the operations described. The order in which some orall of the operations are described should not be construed as to implythat these operations are necessarily order dependent. Alternativeordering will be appreciated by one skilled in the art having thebenefit of this description. Further, it will be understood that not alloperations are necessarily present in each embodiment provided herein.Also, it will be understood that not all operations are necessary insome embodiments.

Further, unless specified otherwise, “first,” “second,” and/or the likeare not intended to imply a temporal aspect, a spatial aspect, anordering, etc. Rather, such terms are merely used as identifiers, names,etc. for features, elements, items, etc. For example, a first object anda second object generally correspond to object A and object B or twodifferent or two identical objects or the same object.

Moreover, “exemplary” is used herein to mean serving as an example,instance, illustration, etc., and not necessarily as advantageous. Asused herein, “or” is intended to mean an inclusive “or” rather than anexclusive “or”. In addition, “a” and “an” as used in this applicationare generally be construed to mean “one or more” unless specifiedotherwise or clear from context to be directed to a singular form. Also,at least one of A and B and/or the like generally means A or B and/orboth A and B. Furthermore, to the extent that “includes”, “having”,“has”, “with”, and/or variants thereof are used in either the detaileddescription or the claims, such terms are intended to be inclusive in amanner similar to the term “comprising”.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure. In addition, while aparticular feature of the disclosure may have been disclosed withrespect to only one of several implementations, such feature may becombined with one or more other features of the other implementations asmay be desired and advantageous for any given or particular application.

What is claimed is:
 1. A method for image blending, comprising:generating an intermediate blended image between a first image, having afirst image type and a first level of detail, and a second image havinga second image type and a second level of detail, the intermediateblended image having an intermediate level of detail between the firstlevel of detail and the second level of detail, the generatingcomprising: performing structure transfer upon the first image togenerate a new image; downsampling the second image to generate adownsampled image having a downsampled size corresponding to a size ofthe new image; computing a color difference between the new image andthe downsampled image; upsampling the color difference to generate anupsampled color difference; and blending a gradient image using aninterpolation weight and the upsampled color difference to generate theintermediate blended image; and displaying the intermediate blendedimage through a visualization during a transition between display of thefirst image and display of the second image.
 2. The method of claim 1,the first image comprising a satellite image and the second imagecomprising an aerial image.
 3. The method of claim 1, the performingstructure transfer comprising: generating the new image; andtransferring structure from a satellite image to the new image at thefirst level of detail.
 4. The method of claim 1, comprising: generatinga set of intermediate blended images between the first level of detailand the second level of detail; and displaying the set of intermediateblended images through the visualization during the transition betweendisplay of the first image and display of the second image.
 5. Themethod of claim 1, the downsampling the second image comprising:performing successive fine-to-coarse downsampling upon the second imageto generate the downsampled image.
 6. The method of claim 5, thedownsampling the second image comprising: building a Gaussian pyramidbased upon the successive fine-to-coarse downsampling; and utilizing theGaussian pyramid to generate the downsampled image.
 7. The method ofclaim 1, the blending a gradient image comprising: determining ablending amount metric based upon a gradient value of the gradientimage; and blending the gradient image based upon the blending amountmetric.
 8. The method of claim 1, the blending a gradient imagecomprising: building a Gaussian pyramid based upon successivefine-to-coarse downsampling performed upon the second image; anddetermining a blending amount metric based upon a pyramid level of thegradient image within the Gaussian pyramid.
 9. The method of claim 1,the intermediate blended image covering an amount of ground areacorresponding to a first amount of ground area covered by the firstimage.
 10. The method of claim 1, the intermediate blended imagecovering an amount of ground area corresponding to a second amount ofground area covered by the second image.
 11. The method of claim 1, thefirst image comprising a satellite image and the first level of detailcorresponding to a resolution above a high detail threshold.
 12. Themethod of claim 1, the second image comprising an aerial image and thesecond level of detail corresponding to a resolution below a low detailthreshold.
 13. The method of claim 1, the blending comprising:determining a horizontal partial derivative with respect to an x-axis,the horizontal partial derivative indicative of a horizontal colordifference between pixels along the x-axis; and blending the gradientimage based upon the horizontal partial derivative.
 14. The method ofclaim 1, the blending comprising: determining a vertical partialderivative with respect to a y-axis, the vertical partial derivativeindicative of a vertical color difference between pixels along they-axis; and blending the gradient image based upon the vertical partialderivative.
 15. A method for facilitating image transitions, comprising:subsampling a second image, having a second image type and a secondlevel of detail, to generate a subsampled image, the subsampled imagehaving a subsampled size corresponding to a size of a first image havinga first image type and a first level of detail; determining a colordistance metric between the subsampled image and the first image;determining a structure similarity metric between the subsampled imageand the first image; generating a transition blending metric based uponthe color distance metric and the structure similarity metric; andsorting a set of images based upon the transition blending metric togenerate a sorted set of images ordered from smooth transitions toabrupt transitions between displaying the first image and displaying thesecond image.
 16. The method of claim 15, the first image comprising asatellite image and the second image comprising an aerial image.
 17. Themethod of claim 15, comprising: generating one or more intermediateblended images for inclusion within the set of images, an intermediateblended image having an intermediate level of detail between the firstlevel of detail and the second level of detail, the sorted set of imagescomprising the one or more intermediate blended images ordered basedupon the transition blending metric; selecting a set of intermediateblended images from the sorted set of images, for display during atransition from displaying the first image to displaying the secondimage, based upon the transition blending metric; and displaying the setof intermediate blended images through a visualization during thetransition.
 18. The method of claim 15, comprising: defining atransition outlier threshold based upon a user threshold for outliers,the sorting a set of images comprising sorting the set of images basedupon the transition outlier threshold.
 19. The method of claim 15,comprising: representing the sorted set of images as a sorted array ofquadkeys, a quadkey corresponding to an image within the sorted set ofimages.
 20. A system for image blending, comprising: an image blendingcomponent configured to: generate an intermediate blended image betweena first image, having a first image type and a first level of detail,and a second image having a second image type and a second level ofdetail, the intermediate blended image having an intermediate level ofdetail between the first level of detail and the second level of detail,comprising: performing structure transfer upon the first image togenerate a new image; downsampling the second image to generate adownsampled image having a downsampled size corresponding to a size ofthe new image; computing a color difference between the new image andthe downsampled image; upsampling the color difference to generate anupsampled color difference; and blending a gradient image using aninterpolation weight and the upsampled color difference to generate theintermediate blended image; and an image visualization componentconfigured to: display the intermediate blended image through avisualization during a transition between display of the first image anddisplay of the second image.